package cn.com.dycc.task_manage.orderdeal.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import cn.com.dycc.task_manage.orderdeal.entity.NewFindOrderDeal;
import cn.com.dycc.task_manage.orderdeal.param.FindOrdealineParam;
import cn.com.dycc.task_manage.orderdeal.param.ListAttachAndUserDept;
import cn.com.dycc.task_manage.orderdeal.param.NewOrderDealParam;
import cn.com.dycc.task_manage.ordermain.entity.WorkOrdealInfor;

public interface OrderDealService {
	
	/**
	 * 查询工单细表信息
	 * @param request
	 * @param findOrdealineParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public List<WorkOrdealInfor> findOrDealByUserId(HttpServletRequest request,FindOrdealineParam findOrdealineParam)throws NotFoundOrderDealException;
	
	/**
	 * 查询工单细表信息 统计
	 * @param request
	 * @param findOrdealineParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public String findOrDealByUserIdCount(HttpServletRequest request,FindOrdealineParam findOrdealineParam)throws NotFoundOrderDealException;
	
	/**
	 * 查询未处理工单细表信息
	 * @param request
	 * @param findOrdealineParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public List<WorkOrdealInfor> findOrDealNotByUserId(HttpServletRequest request,FindOrdealineParam findOrdealineParam)throws NotFoundOrderDealException;
	
	/**
	 * 查询未处理工单细表信息 统计
	 * @param request
	 * @param findOrdealineParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public String findOrNotDealByUserIdCount(HttpServletRequest request,FindOrdealineParam findOrdealineParam)throws NotFoundOrderDealException;
	
	/**
	 * 处理工单并且发送给下一节点
	 * @param request
	 * @param orderDealParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public String updateAndSend(HttpServletRequest request,ListAttachAndUserDept listAttachAndUserDept)throws NotFoundOrderDealException;
	
	/**
	 * 查询已处理的工单信息2018-07-25新起接口
	 * @param newOrderDealParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public List<NewFindOrderDeal> newFindOrderDeal(HttpServletRequest request,NewOrderDealParam newOrderDealParam)throws NotFoundOrderDealException;
	
	/**
	 * 查询已处理的工单信息2018-07-25新起接口 统计
	 * @param newOrderDealParam
	 * @return
	 * @throws NotFoundOrderDealException
	 */
	public String newFindOrderDealCount(HttpServletRequest request,NewOrderDealParam newOrderDealParam)throws NotFoundOrderDealException;
	
	
}
